The present invention relates to the management of data and particularly although not exclusively, to the management of data which is replicated on a plurality of processing devices.
Multi-processor computing systems are known wherein each processor has associated local memory and one of said processors has a master memory which is required to be accessed by the other processors. The master memory may contain configuration data required for organization within the plurality of processors. Thus, for example, the master memory may contain configuration data utilized by all processors so that each processor can operate in line with a pre-determined protocol. Known systems of this type may rely on use of a common bus or other suitable communication medium to allow the master processor to communicate with each of a plurality of local processors.
Communication between processors interconnected via a bus is particularly suitable for systems relying on a centralized body of data which is required to maintain accuracy in terms of data content held from the point of view of each of the local processors. These prior art systems may generally be referred to as centralized memory systems and an inherent underlying problem relates to a time delay or latency in respect of operations performed on the data (write or SET operations) or operations relating to retrieval of the data (fetch or GET operations). Thus, a local processor must access the master processor""s memory to effect an operation on the data and this will occur via instructions sent over the common bus. Similarly the common bus is used in returning data from the master memory to the requesting local processor. These types of communication exchanges between a master processor and a local processor introduce an inherent delay in local processors updating data in the master processor""s memory. Typical applications require local processors to achieve many data retrievals from the master processor as they are running in real time. Thus, in real time applications the number of operations performed by a local processor is considerable. With each data request operation being non instantaneous and extended by the round-trip time from local processor to master processor and back to local processor each required operation is forced to wait whilst the preceding requested operation is completed. The above problem may be referred to as the latency problem and access to centralized memory may be referred to as blocked whilst a given local processor is waiting for a prior data request to complete. Systems requiring a solution to centralized memory latency problems include computer networks, the Internet and world wide web and base stations in telecommunications systems.
A problem with current telecommunications systems relates to connection of customers to a backbone network, eg a public switched telephone network (PSTN). Conventionally, customers are connected to the PSTN via a hardwire transmission line comprising copper cables at considerable expense through the need to lay these cables under roads. An improved solution to this problem has been effected by use of a fixed radio access (FRA) system (otherwise known as fixed wireless access (FWA) or wireless local loop (WLL)) wherein customers are connected to the PSTN via a microwave link effecting communication between a microwave dish located on the customer premises and a radio base station comprising an integrated transceiver system (ITS). The microwave communication link removes the need to lay copper cables and simply requires a remote base station to be connected to the PSTN. In this way a plurality of customers may be connected to the PSTN at much reduced expense. In addition, the disruption associated with laying of copper cables is also reduced from the point of view of the general public. Currently, fixed radio access of the type described is implemented using a remote base station comprising a plurality of transceiver processing modules (TPMs) or processor cards. Typically a fixed radio access base station of the type indicated may comprise 6 TPM cards providing 18 carrier frequencies, this kind of system being suitable for use in covering a densely populated urban area. Each TPM card comprises a processor and local memory. The TPM cards are managed by a master card called a transceiver timing module (TTM) or master processor card which comprises a master processor and local memory. Each TPM card is responsible for effecting connections between a plurality of customers and the PSTN and must access the shared centralized memory on the master TTM card so that each customer is allocated a particular microwave frequency which, for example, is not being used by another nearby customer. This is required to minimize interference in each communication channel which is established. However, as described above such a centralized memory system suffers from inherent problems with respect to the local processors on TPM cards accessing and modifying data held by the centralized master memory located on the TTM card. Connection of customer telephone call requests to a local base station comprising a centralized memory is inefficient in terms of call set up etc. A solution is required wherein the existing physical arrangement of processing elements and memory holding configuration data is preferably maintained and in which the integrity of the data is consistent from the point of view of all local processors.
One object of the present invention is to replicate configuration data over a plurality of processors such that each individual processor contains local memory holding a copy of the data which is substantially similar or coherent at any given time to that held by any of the other local processors. Attempts to realize replicated data management systems suffer from reliability problems in terms of data integrity. An important problem is to effect updates (that is SET operations) on the data such that a copy of the data associated with a given processor is reliably up to date with respect to operations performed upon the data by both the given processor under consideration and one or more of the other processors.
According to a first aspect of the present invention there is provided in a data processing system comprising a master processor having an associated master memory storing an instance of data, a method of maintaining said stored data instance and broadcasting a status of said stored data instance, said method comprising the steps of:
receiving a message requesting said master processor to transmit a broadcast message, said request message containing a data item;
in response to said request message, updating said stored data instance in said master memory with said data item; and
transmitting said broadcast message, wherein said broadcast message contains said data item used to update said stored data instance.
Further advantageous features of the invention are as recited in claims 2 to herein.
According to a second aspect of the present invention there is provided a data processing system comprising a master processor and an associated master memory, said master memory storing an instance of data, said processor operating to:
receive a message requesting said master processor to broadcast a message;
update said data instance according to a content of said request message; and
in response to said request message, operating to transmit a broadcast message.
Said broadcast message may comprise a same data content as said quest message.
According to a third aspect of the present invention there is provided in a data processing system comprising a master processor having an associated master memory storing an instance of data, said instance comprising a plurality of data items, a method of generating recovery messages comprising the steps of:
storing a history list of broadcast messages which said master processor has previously transmitted;
receiving a coherency request message requesting transmission of specified data items;
in response to said coherency request message, reading said history list to determine if the data items requested in said coherency request message match data items referred to in said history list; and
if said items requested in said coherency request message match data items referred to in said history list, transmitting messages containing said specified data items.
Further advantageous features are as recited in claims 14 to 21 herein.